import { EnumBjlResult } from "@/models/enums/EnumBjlResult";
import { ExcutePlan, RecmInfo, RoundInfo } from "./ExecutePlan";
import { IStrategy } from "./IStrategy";

export interface ISetOption {

    /**
     * 设置配置参数
     * @param option 配置参数
     */
    setOption<T>(option: T): void;
}

/**
 * 推荐策略
 */
export interface IRecmStrategy extends IStrategy {
    /**
     * 
     */
    setResult(roundInfo: RoundInfo, recmInfo: RecmInfo, multiple: number, waterRate: number, fuliRate: number): void;
    /**
     * 获取推荐
     * @param roundInfo 当前轮信息
     */
    toResult(roundInfo: RoundInfo): EnumBjlResult;
}